import { defineStore} from 'pinia'
import {authLogout} from "../../api/auth/index"
interface State {
    accessToken: string;
    loginStatus:boolean;
    tokenType:string,
  }
  
export const AuthStore = defineStore('auth', {
    //属性
    state: (): State => {
        return {
            accessToken:'',
            tokenType:"Bearer",
            loginStatus:false     
        }
      },
    //数据处理
    getters: {
        
      
    },
    //函数
    actions: {
        //退出登陆
        async loginOut(){
          try{
            await authLogout()
            this.accessToken=''
            this.loginStatus=false
          }
          catch(error){

          }
          
        }
        
    },
// 开启数据缓存
  persist: {
    enabled: true,
    strategies: [
      {
        // 自定义名称
        key: 'auth',
        // 保存位置，默认保存在sessionStorage
        storage: localStorage,
        // 指定要持久化的数据，默认所有 state 都会进行缓存，你可以通过 paths 指定要持久化的字段，其他的则不会进行持久化。
        paths: ['accessToken','loginStatus'],
      },
    ],
  },

  })